﻿
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace TestProject_WcfServer.Helper.Tests.Validation
{
    [TestClass]
    public class TCKimlikNoDogrulamaTest
    {
        //valided value => 14501955942

        [TestMethod]
        public void should_return_false_if_tc_is_empty()
        {
            var tcKimlikKontrol = Utility.TCKimlikKontrol("");

            Assert.AreEqual(tcKimlikKontrol, false);

            Assert.AreEqual(Utility.TcMesaj, "T.C.Kimlik numarası alanı boş bırakılamaz !");
        }

        [TestMethod]
        public void should_return_false_if_tc_is_not_numeric()
        {
            var tcKimlikKontrol = Utility.TCKimlikKontrol("145019559A2");

            Assert.AreEqual(tcKimlikKontrol, false);

            Assert.AreEqual(Utility.TcMesaj, "T.C.Kimlik numarası sadece rakamlardan oluşabilir !");
        }

        [TestMethod]
        public void should_return_false_if_tc_is_great_11_character()
        {
            var tcKimlikKontrol = Utility.TCKimlikKontrol("145019559421");

            Assert.AreEqual(tcKimlikKontrol, false);

            Assert.AreEqual(Utility.TcMesaj, "T.C.Kimlik numarası 11 hane olmalıdır !");
        }

        [TestMethod]
        public void should_return_false_if_tc_is_less_11_character()
        {
            var tcKimlikKontrol = Utility.TCKimlikKontrol("1450195594");

            Assert.AreEqual(tcKimlikKontrol, false);

            Assert.AreEqual(Utility.TcMesaj, "T.C.Kimlik numarası 11 hane olmalıdır !");
        }

        [TestMethod]
        public void should_return_false_if_tc_is_value_of_first_charecter()
        {
            var tcKimlikKontrol = Utility.TCKimlikKontrol("04501955942");

            Assert.AreEqual(tcKimlikKontrol, false);

            Assert.AreEqual(Utility.TcMesaj, "T.C.Kimlik numarasının ilk hanesi sıfır olamaz !");
        }
        
        [TestMethod]
        public void should_return_false_if_tc_is_wrong_format()
        {
            var tcKimlikKontrol = Utility.TCKimlikKontrol("12345678912");

            Assert.AreEqual(tcKimlikKontrol, false);

            Assert.AreEqual(Utility.TcMesaj, "T.C.kimlik numarası doğru formatta değil !");
        }
    }
}
